1. Field of the Invention
The present invention relates to an information processing apparatus which searches for a device, a control method of the information processing apparatus, and a computer-readable storage medium which stores a computer program to be used to perform the control method.
2. Description of the Related Art
Conventionally, each client such as a personal computer or the like which is connected on a network can search for and use a device such as a printer or the like which is also connected on the network. Here, as a search method of searching for the device, there is a method in which the client transmits search request data by multicast and then receives from each device a reply concerning a search request indicated by the transmitted search request data. Also, there is a method in which a search server (Discovery Proxy, called a DP hereinafter) which holds the information of each device is provided on the network and the client receives the necessary information as a searched result from the DP.
Ordinarily, the network which is constructed by a LAN (local area network) or the like consists of plural subnets, and the respective subnets are mutually connected through a router. Under the circumstances, the router often inhibits data transmitted by broadcast or multicast from one subnet to the other subnet from passing through the router as it is. In this case, the search request data transmitted by broadcast or multicast from the client is therefore sent only within the subnet in which the relevant client exists. Therefore, according to the above search method, the client can resultingly search for only the device which exists in the subnet in which the own apparatus of this client exists.
To solve such a problem, the following method which enables a user of a subnet to search for a device which exists in another subnet has been proposed (for example, Japanese Patent Application Laid-Open No. 2003-006133).
In this method, a server apparatus which acquires device information from the device is provided. More specifically, the server apparatus acquires the device information from the device which exists in another subnet which is different from the subnet in which the own apparatus exists (hereinafter, this “another subnet” is called “different subnet”), and thus a client acquires, from the server apparatus, the information of the device which exists in the different subnet.
According to this method, the client can acquire not only the information of the device which exists in the subnet in which the own apparatus of the client exists but also the information of the device which exists in the different subnet.
However, in the above-described background art, since the server apparatus has to manage not only the information of the device which exists in the subnet in which the server apparatus itself exists but also the information of the device which exists in the different subnet, a load for the server apparatus increases. On the other hand, in order to distribute the load of the server apparatus, it is conceivable to prepare plural server apparatuses and set up one of these server apparatuses to each subnet. In such a method, the server apparatus which has been set up to each subnet manages only the information of the device which exists in the subnet in which the relevant server apparatus exists. In this context, to search for the device which exists in the different subnet which is different from the subnet in which the own apparatus of the client exists, the relevant client transmits a search request to the server apparatus which has been set up to the different subnet. However, in this case, if the client transmits the search request by multicast, the relevant search request is not resultingly transmitted to the different subnet as described above. Therefore, the client has to transmit, by unicast, the search request to the relevant server apparatus which has been set up to the different subnet. For this reason, since the client has to know the address of the relevant server apparatus, it is necessary for the client to previously register the relevant address.
In general, since many clients as compared with server apparatuses are connected to each subnet, it is complicated for the user to register the addresses of the server apparatuses with respect to each of these clients.